This document tells you how to compile the demo application that is included with this package.
Compiling The C Demo Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The easiest way to compile the C demo application included with Tools Plus is to have the following files in the same folder:
Demo.π
Demo.π.rsrc
Demo.c
ToolsPlus.Lib1
ToolsPlus.Lib2
ToolsPlus.Lib3
ToolsPlus.h
ToolsPlus.c
PascalStrHandles.c
Double-click the Demo.π project file to launch THINK C, then run your project.
Your project file keeps track of each file’s location as you add it to your project, so you may want to create a new project file after you have put all the Tools Plus libraries and their related files in their permanent folders. Create a new (empty) project named “Demo.π” in the same folder as “Demo.π.rsrc” and “PascalStrHandles.c”. Add the following files to your new project:
Segment 1: MacTraps
MacTraps2
Segment 2: ANSI
Segment 3: ToolsPlus.Lib1
Segment 4: ToolsPlus.Lib2
Segment 5: ToolsPlus.Lib3
ToolsPlus.c
Segment 6: Demo.c
You can now build your project and run your application.
Note:
Make sure you allocate sufficient memory to the debugger if you are going to run the Tools Plus demo application with the debugger on. The Tools Plus demo was written as one large source file, making it easier to compile and study, but making it hungry for debugger memory. Allocate at least 500K to the debugger. If you don’t have enough memory, turn the debugger off (Project menu, deselect “Use Debugger”) when running the demo.
Your applications will likely be written in a more intelligent fashion, abandoning one large source file in favor of several smaller ones.
IMPORTANT! Errors when compiling the Demo…
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At the time of this writing, Water’s Edge Software has made every effort to ensure that our demo application will compile successfully the first time. Unfortunately, Symantec C/C++ compilers have undergone a series of revisions and some inconsistencies have arisen between compiler versions. Fortunately, these differences are simple to resolve.
If your compiler gives you an error that states “argument to function ‘x’ does not match prototype,” it indicates that Symantec has made a minor revision to that function’s prototype (in the error message, ‘x’ will be replaced by the function’s name). To correct this error, inspect the offending line in the source file, which is likely a line like:
PenPat(&gray);
and revise it to match the prototype in the related header file. In the example above, the correction is as simple as changing the line to:
PenPat(gray); /* Remove ampersand (&) from the variable */
To date, all inconsistencies have been of this nature. We are sorry for the inconvenience these issues may cause you, and would like to offer our assistance if you have problems getting the demo compiled. See the “Technical Support” chapter for information on how to contact Water’s Edge Software for assistance.
The easiest way to compile the Pascal demo application included with Tools Plus is to have the following files in the same folder:
Demo.π
Demo.π.rsrc
Demo.p
ToolsPlus.Lib1
ToolsPlus.Lib2
ToolsPlus.Lib3
ToolsPlus.p
Double-click the Demo.π project file to launch THINK Pascal, then run your project.
Your project file keeps track of each file’s location as you add it to your project, so you may want to create a new project file after you have put all the Tools Plus libraries and their related files in their permanent folders. Create a new project named “Demo.π” in the same folder as “Demo.π.rsrc”. Add the following files to your new project:
Segment 1: Runtime.Lib
Interface.Lib
Segment 2: ToolsPlus.Lib1
Segment 3: ToolsPlus.Lib2
Segment 4: ToolsPlus.Lib3
ToolsPlus.p
Segment 5: Sound.p
Demo.p
You can now build your project. After the initial compile, you will notice THINK Pascal created some additional entries in your project file:
«ToolsPlus.Lib1:1»
«ToolsPlus.Lib2:1»
«ToolsPlus.Lib3:1»
«%_MethTables»
«%_SelProcs»
«%_Profiler»
The «ToolsPlus.Lib1:1», «ToolsPlus.Lib2:1» and «ToolsPlus.Lib3:1» items contain the object code from the Tools Plus libraries, while «%_MethTables», «%_SelProcs» and «%_Profiler» items are part of THINK Pascal’s overhead (consult your THINK Pascal User Manual for details).
Drag «ToolsPlus.Lib1:1» into the same segment as ToolsPlus.Lib1, «ToolsPlus.Lib2:1» into the same segment as ToolsPlus.Lib2, and «ToolsPlus.Lib3:1» into the same segment as ToolsPlus.Lib3.
Drag «%_MethTables», «%_SelProcs» and «%_Profiler» to any segment that won’t be unloaded while your application is running, such as the one containing the Runtime.lib library.
Even though the project window indicates that Segment 1 exceeds the 32k limit imposed on segments, the project will compile and run. When you build your application, the smart linker will strip away unneeded code and significantly reduce the size of this segment.